package com.st.qdmall.dao;

import java.util.List;

import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import com.st.qdmall.entity.Goods;

@Mapper
public interface GoodsDao {

	/**
	 * 将商品信息插入数据库
	 * describe 在Mysql中是一个关键字， 所以直接使用这个单词，将会当作关键字，
	 * 为了能够把它当作一个列名，这单词前后，加上`(这不是单引号，而是ESC下面的那个键)
	 */
	@Insert("insert into goods (name, `describe`, price, pic, store) " +
			" value(#{name}, #{describe}, #{price}, #{pic}, #{store})")
	int insert(Goods goods);

	/**
	 * 查询所有的商品信息
	 * @return
	 */
	@Select("select * from goods")
	List<Goods> selectAll();

	/**
	 * 根据ID，删除商品
	 * @param id
	 * @return
	 */
	@Delete("delete from goods where id=#{id}")
	int delete(Integer id);

	/**
	 * 根据ID查询商品信息
	 * @param id
	 * @return
	 */
	@Select("select * from goods where id=#{id}")
	Goods selectById(Integer id);

	@Update(" update goods set name=#{name}, `describe`=#{describe}, "
			+ " pic=#{pic}, "
			+ " price=#{price}, "
			+ " store=#{store}"
			+ " where id=#{id}")
	int update(Goods goods);
}







